﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace SindSaudeAdminUI
{
    public partial class Noticias : System.Web.UI.Page
    {
        private int idnoticia;
         private string strcaminhoCompleto = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.carregaGrid();
            }
        }
        private void carregaGrid()
        {
            SindSaudeCamadas.Dados.Noticias noticias = new  SindSaudeCamadas.Dados.Noticias();
            DataTable dt = new DataTable();
            dt = noticias.carregaNoticias();
            if (dt.Rows.Count >= 1)
            {
                gridnoticia.DataSource = dt;
                gridnoticia.DataBind();
            }
            else
            {
                pnlnoticia.Visible = true;
            }
        }
        protected void gridnoticia_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Adicionar")
            {
                pnlnoticia.Visible = true;
                btnGravar.Visible = true;
                btnAterar.Visible = false;
                
            }
            if (e.CommandName == "Alterar")
            {
                int index = Convert.ToInt16(e.CommandArgument);
                idnoticia = Convert.ToInt16(gridnoticia.Rows[index].Cells[0].Text);
                Session.Add("idnoticia", idnoticia);
                pnlnoticia.Visible = true;
                btnAterar.Visible = true;
                btnGravar.Visible = false;
                SindSaudeCamadas.Dados.Noticias noticias = new SindSaudeCamadas.Dados.Noticias();
                DataTable dt = new DataTable();
                dt = noticias.carregaNoticia(idnoticia);
                txtNome.Text = dt.Rows[0][1].ToString();
                txtSubTitulo.Text = dt.Rows[0][4].ToString();
                txtTexto.Text = dt.Rows[0][2].ToString();
                if (dt.Rows[0][6].ToString() == "1")
                {
                    chkCarrossel.Checked = true;
                }
                else
                {
                    chkCarrossel.Checked = false;
                }

            }
            if (e.CommandName == "Remover")
            {
                int index = Convert.ToInt16(e.CommandArgument);
                int artigo = Convert.ToInt16(gridnoticia.Rows[index].Cells[0].Text);

                SindSaudeCamadas.Dados.Noticias noticias = new SindSaudeCamadas.Dados.Noticias();
                noticias.deleteNoticias(artigo);
                this.carregaGrid();

            }
        }
        private bool valida()
        {
            bool valida = false;
            if (txtNome.Text.ToString() == "") { lblMsg.Text = "Favor preencher o titulo!"; return false; }
            else { lblMsg.Text = ""; valida = true; }
            if (txtData.Text.ToString() == "") { lblMsg.Text = "Favor preencher a Data!"; return false; }
            else { lblMsg.Text = ""; valida = true; }
            if (txtSubTitulo.Text.ToString() == "") { lblMsg.Text = "Favor preencher o sub titulo!"; return false; }
            else { lblMsg.Text = ""; valida = true;}
            if (txtTexto.Text == "") { lblMsg.Text = "Favor preenche o Texto"; return false; }
            else { lblMsg.Text = ""; valida = true; }
            if (!FUImagenoticia.HasFile)
            {
                lblMsg.Text = "Selacione a Imagem.";
            }
            else
            {
                string strcaminho = AppDomain.CurrentDomain.BaseDirectory + "Upload\\";
                string strFilename = FUImagenoticia.FileName.ToString();
                FUImagenoticia.PostedFile.SaveAs(strcaminho + strFilename);
                strcaminho = strcaminho.Replace("SindSaudeAdminUI", "SindSaude");
                FUImagenoticia.PostedFile.SaveAs(strcaminho + strFilename);
                strcaminhoCompleto = "Upload/" + strFilename;
            }
            return valida;
        }

        protected void btnGravar_Click(object sender, EventArgs e)
        {
            if (this.valida() == true) 
            {
                int flagordem = 0;
                if (chkCarrossel.Checked == true)
                {
                    flagordem = 1;
                }
                SindSaudeCamadas.Dados.Noticias noticias = new SindSaudeCamadas.Dados.Noticias();
                noticias.insereNoticias(txtNome.Text.ToString(), txtTexto.Text.ToString(), 0, txtSubTitulo.Text.ToString(),strcaminhoCompleto,flagordem,txtData.Text.ToString(),Convert.ToDateTime(txtDatetime.Text));
                this.carregaGrid();
                pnlnoticia.Visible = false;
                this.limpaCampos();
            }
        }

        protected void btnAterar_Click(object sender, EventArgs e)
        {
                if (this.valida() == true)
                {
                    int flagordem = 0;
                    if (chkCarrossel.Checked == true)
                    {
                        flagordem = 1;
                    }
                    SindSaudeCamadas.Dados.Noticias noticias = new SindSaudeCamadas.Dados.Noticias();
                    noticias.alteraNoticias(Convert.ToInt16(Session["idnoticia"]), txtNome.Text.ToString(), txtTexto.Text.ToString(), 0, txtSubTitulo.Text.ToString(), strcaminhoCompleto, flagordem, txtData.Text.ToString(), Convert.ToDateTime(txtDatetime.Text));
                    this.carregaGrid();
                    pnlnoticia.Visible = false;
                    idnoticia = 0;
                    this.limpaCampos(); 
                }        
        }

        protected void chkCarrossel_CheckedChanged(object sender, EventArgs e)
        {
            SindSaudeCamadas.Dados.Noticias noticias = new SindSaudeCamadas.Dados.Noticias();
            if (noticias.QtdCarrossel() > 6)
            {
                lblMsg.Text = "Favor remover esta opção de outra noticia, pois ja esta no numero maximo no carrossel! ";
                chkCarrossel.Checked = false;
            }
            else
            {
                chkCarrossel.Checked = true;
            }
        }
        private void limpaCampos()
        {
            txtNome.Text = "";
            ///txtUrl.Text = "";
            chkCarrossel.Checked = false;
            txtSubTitulo.Text = "";
            txtTexto.Text = "";
        }
    }
}